package com.retirement.web.controller.csd;

import com.retirement.common.core.domain.entity.SysDept;
import com.retirement.common.core.domain.entity.SysUser;
import com.retirement.csd.domain.EcharsAge;
import com.retirement.csd.domain.EcharsDeptNums;
import com.retirement.csd.domain.EcharsNums;
import com.retirement.csd.service.IOdsHealthService;
import com.retirement.system.domain.DeptNums;
import com.retirement.system.mapper.SysDeptMapper;
import com.retirement.system.mapper.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.text.DecimalFormat;
import java.util.List;

@RestController
@RequestMapping("/csd/echars")
public class OdsEcharsController {
    @Autowired
    private SysDeptMapper sysDeptMapper;

    @Autowired
    private SysUserMapper sysUserMapper;

    @GetMapping("/nums")
    public EcharsNums getNums(){
        EcharsNums echarsNums = new EcharsNums();
        SysDept sysDept = new SysDept();
        echarsNums.setDeptNums(sysDeptMapper.selectDeptList(sysDept).size()+"");
        SysUser user = new SysUser();
        user.setRoleId(100L);
        echarsNums.setPersonNums(sysUserMapper.selectAllocatedList(user).size()+"");
        return echarsNums;
    }

    @GetMapping("/age")
    public EcharsAge getAges(){
        EcharsAge echarsAge = new EcharsAge();
        echarsAge.getAge().add("30-35岁");
        echarsAge.getAge().add("35-50岁");
        echarsAge.getAge().add("50-65岁");
        echarsAge.getAge().add("65-80岁");
        echarsAge.getAge().add("80岁以上");
        echarsAge.getNums().add(sysUserMapper.selectNums(30,35)+"");
        echarsAge.getNums().add(sysUserMapper.selectNums(35,50)+"");
        echarsAge.getNums().add(sysUserMapper.selectNums(50,65)+"");
        echarsAge.getNums().add(sysUserMapper.selectNums(65,80)+"");
        echarsAge.getNums().add(sysUserMapper.selectNums(80,120)+"");
      return echarsAge;
    }

    @GetMapping("/dept")
    public EcharsDeptNums getDepts(){
        List<DeptNums> deptNums = sysUserMapper.selectDepts();
        for (DeptNums deptNum : deptNums){
            deptNum.setDept(sysDeptMapper.selectDeptById(Long.parseLong(deptNum.getDept())).getDeptName());
        }
        EcharsDeptNums echarsDeptNums = new EcharsDeptNums();
        for (DeptNums deptNum : deptNums){
            echarsDeptNums.getDepts().add(deptNum.getDept());
            echarsDeptNums.getNums().add(deptNum.getNums());
            double total = sysUserMapper.selectUserList(new SysUser()).size();
            double s =Integer.parseInt(deptNum.getNums())/total*100;
            echarsDeptNums.getPercentage().add(s+"");
        }
        return echarsDeptNums;
    }

}
